# the minimum version of CMake.
cmake_minimum_required(VERSION 3.4.1)
project(videoCodecSample)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)

set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})

include_directories(${NATIVERENDER_ROOT_PATH}
                    ${NATIVERENDER_ROOT_PATH}/capbilities/include
                    ${NATIVERENDER_ROOT_PATH}/common
                    ${NATIVERENDER_ROOT_PATH}/common/dfx/err
                    ${NATIVERENDER_ROOT_PATH}/common/dfx/log
                    ${NATIVERENDER_ROOT_PATH}/render/include
                    ${NATIVERENDER_ROOT_PATH}/sample/player
                    ${NATIVERENDER_ROOT_PATH}/sample/recorder


)

set(BASE_LIBRARY
    libace_napi.z.so libEGL.so libGLESv3.so libace_ndk.z.so libuv.so libhilog_ndk.z.so
    libnative_media_codecbase.so libnative_media_core.so libnative_media_vdec.so libnative_window.so
    libnative_media_venc.so libnative_media_acodec.so libnative_media_avdemuxer.so libnative_media_avsource.so libnative_media_avmuxer.so
    libohaudio.so
)
add_library(player SHARED
                          sample/player/Player.cpp
                          capbilities/Demuxer.cpp
                          capbilities/VideoDecoder.cpp
                          capbilities/AudioDecoder.cpp
                          render/PluginRender.cpp
                          render/PluginManager.cpp
                          common/SampleCallback.cpp
                          C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/libplayer/generated/temp/player.impl.cpp
                           C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/libplayer/generated/temp/napi_register.cpp
                           C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/libplayer/generated/src/player.napi.cpp
                           D:/taihe/src/taihe/runtime/object.cpp
                           D:/taihe/src/taihe/runtime/string.cpp
                           D:/taihe/src/taihe/runtime/napi_runtime.cpp
)
target_include_directories( player PUBLIC
                                        D:/taihe/include
                                         C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/libplayer/generated/include
                              )

add_library(recorder SHARED
                            sample/recorder/Recorder.cpp
                            capbilities/Muxer.cpp
                            capbilities/VideoEncoder.cpp
                            capbilities/AudioCapturer.cpp
                            capbilities/AudioEncoder.cpp
                            common/SampleCallback.cpp
                            C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/librecorder/generated/temp/recorder.impl.cpp
                             C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/librecorder/generated/temp/napi_register.cpp
                             C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/librecorder/generated/src/recorder.napi.cpp
                             D:/taihe/src/taihe/runtime/object.cpp
                             D:/taihe/src/taihe/runtime/string.cpp
                             D:/taihe/src/taihe/runtime/napi_runtime.cpp
)
target_include_directories( recorder PUBLIC
                                          D:/taihe/include
                                          C:/Users/Administrator/Desktop/AVCodecVideo/entry/src/main/cpp/types/librecorder/generated/include
                              )
target_link_libraries(player PUBLIC ${BASE_LIBRARY})
target_link_libraries(recorder PUBLIC ${BASE_LIBRARY})